From: Jasper St. Pierre Date: Wed, 19 Sep 2012 03:37:24 +0000 (-0300) Subject: messageTray: Only hide the notification stack on clicking close X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~5543 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=71c23613b5e3d05a4c2bf3a0cf7d62e5268cb417;p=gnome-shell.git messageTray: Only hide the notification stack on clicking close Rather than destroying the entire source, which is unintuitive, simply close the notification. Removing the entire source is still possible by right-clicking on the summary item and choosing "Remove". https://bugzilla.gnome.org/show_bug.cgi?id=682237 --- diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index a425926f4..9c9221f35 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -1247,10 +1247,6 @@ const SummaryItem = new Lang.Class({ this.notificationStackWidget.add_actor(this.notificationStackView); this.closeButton = makeCloseButton(); - this.closeButton.connect('clicked', Lang.bind(this, function() { - source.destroy(); - source.emit('done-displaying-content'); - })); this.notificationStackWidget.add_actor(this.closeButton); this._stackedNotifications = []; @@ -2414,6 +2410,7 @@ const MessageTray = new Lang.Class({ let closeButton = this._summaryBoxPointerItem.closeButton; closeButton.show(); + this._summaryBoxPointerCloseClickedId = closeButton.connect('clicked', Lang.bind(this, this._hideSummaryBoxPointer)); this._summaryBoxPointerItem.prepareNotificationStackForShowing(); } else if (this._clickedSummaryItemMouseButton == 3) { this._summaryBoxPointer.bin.child = this._clickedSummaryItem.rightClickMenu; @@ -2523,6 +2520,8 @@ const MessageTray = new Lang.Class({ this._summaryBoxPointer.bin.child = null; this._summaryBoxPointerItem.disconnect(this._summaryBoxPointerContentUpdatedId); this._summaryBoxPointerContentUpdatedId = 0; + this._summaryBoxPointerItem.closeButton.disconnect(this._summaryBoxPointerCloseClickedId); + this._summaryBoxPointerCloseClickedId = 0; this._summaryBoxPointerItem.source.disconnect(this._sourceDoneDisplayingId); this._summaryBoxPointerDoneDisplayingId = 0;